package com.ld.security.common.mybatis.anno;

import com.ld.security.common.mybatis.constant.SqlCondition;

import java.lang.annotation.Retention;
import java.lang.annotation.Target;

import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.RetentionPolicy.RUNTIME;

/**
 * 条件对象
 */
@Retention(RUNTIME)
@Target(value={FIELD,METHOD})
public @interface SqlKey {

	/**
	 * 列明
	 * @return
	 */
	String name() default "";

	/**
	 * 查询条件组
	 * @return
	 */
	int index() default 0;
	/**
	 * 如果值是基本类型，则前缀运算
	 * 如果是参数对象，新开括号做运算
	 * @return
	 */
	boolean and() default true;

	//运算符
	SqlCondition value() default SqlCondition.eq;


	//值字段
	String valueField() default "";

	boolean tableField() default  true;


}
